Build with GoBob (centralized build/publish)#2
Merged
Conversation
Migrate gotty's release path to GoBob, mirroring the morta migration. Local builds are unchanged (make / go build); GoBob owns cross-compile and publishing to S3. - add .name (GoBob reads the app name from it) - inject version via -ldflags into main.VERSION / main.BUILDDATE; override app.Version when set so --version and the Server header stay truthful, with a fallback to the baked-in version for a plain go build - Makefile: drop the old dist target; add a `gobob` target that pins the unix-only target set (gotty needs a pty, so there is no windows build) - remove release.yml; GoBob replaces the release/publish path (ci.yml stays as the build gate) Shipping via GoBob changes the artifact name/layout, so cloud66/central's gotty installer must be updated in lockstep before the new artifacts are installed. Tracked separately.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Migrate gotty's release/publish path to GoBob (cloud66's centralized build/publish tool), mirroring
morta'shotfix/migrate-to-gobob. Local builds are unchanged; GoBob handles cross-compilation and publishing todownloads.cloud66.com.What changed
.name— GoBob reads the app name (gotty) from this file.main.go—var VERSION, BUILDDATEare injected by GoBob's-ldflags;app.Versionis overridden when injected, sogotty --versionand theServer:header both report the released version, with a fallback to the baked-in version for a plaingo build/go install.Makefile— dropped the olddisttarget; added agobobtarget that pins gotty's unix-only target set (it needs a pty, so Windows can't build) and documents thebuild+push/publishsteps.release.ymlremoved — GoBob owns release/publish now;ci.ymlstays as the build gate.Verified
make testclean; all 6 unix targets compile;-X main.VERSION/BUILDDATEflows intogotty --version; plain build falls back to1.0.1; packaging emitsgotty_<ver>_linux_amd64.tar.gz.Required follow-up (separate — cloud66/central)
GoBob's artifact name/layout differs from what central installs today, so
lib/installers/gotty/base.rbmust switch to:gotty_<ver>_linux_amd64.tar.gz(wasgotty_linux_amd64_<ver_underscored>.tar.gz)gotty_<ver>_linux_amd64/gottyinside the archive (was a baregotty)Safe to defer: GoBob pushes don't touch existing artifacts, so servers keep installing the current version until central is flipped.